'\" te
.\" Copyright (c) 2000, Sun Microsystems, Inc. All Rights Reserved.
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH GSS_CANONICALIZE_NAME 3GSS "Jan 14, 2003"
.SH NAME
gss_canonicalize_name \- convert an internal name to a mechanism name
.SH SYNOPSIS
.LP
.nf
\fBcc\fR [\fIflag \&.\|.\|.\fR] \fIfile\fR\&.\|.\|. \fB-lgss\fR [\fIlibrary \&.\|.\|.\fR]
#include <gssapi/gssapi.h>

\fBOM_uint32\fR \fBgss_canonicalize_name\fR(\fBOM_uint32 *\fR\fIminor_status\fR,
     \fBconst gss_name_t\fR \fIinput_name\fR,\fBconst gss_OID\fR \fImech_type\fR,
     \fBgss_name_t *\fR\fIoutput_name\fR);
.fi

.SH DESCRIPTION
.sp
.LP
The \fBgss_canonicalize_name()\fR function generates a canonical mechanism name
from an arbitrary internal name.  The mechanism name is the name that would be
returned to a context acceptor on successful authentication of a context where
the initiator used the \fIinput_name\fR in a successful call to
\fBgss_acquire_cred\fR(3GSS), specifying an OID set containing \fImech_type\fR
as its only member, followed by a call to \fBgss_init_sec_context\fR(3GSS),
specifying \fImech_type\fR as the authentication mechanism.
.SH PARAMETERS
.sp
.LP
The parameter descriptions for \fBgss_canonicalize_name()\fR follow:
.sp
.ne 2
.na
\fB\fIminor_status\fR\fR
.ad
.RS 16n
Mechanism-specific status code.
.RE

.sp
.ne 2
.na
\fB\fIinput_name\fR\fR
.ad
.RS 16n
The name for which a canonical form is desired.
.RE

.sp
.ne 2
.na
\fB\fImech_type\fR\fR
.ad
.RS 16n
The authentication mechanism for which the canonical form of the name is
desired.  The desired mechanism must be specified explicitly; no default is
provided.
.RE

.sp
.ne 2
.na
\fB\fIoutput_name\fR\fR
.ad
.RS 16n
The resultant canonical name.  Storage associated with this name must be freed
by the application after use with a call to \fBgss_release_name\fR(3GSS).
.RE

.SH ERRORS
.sp
.LP
The \fBgss_canonicalize_name()\fR function may return the status codes:
.sp
.ne 2
.na
\fB\fBGSS_S_COMPLETE\fR\fR
.ad
.RS 22n
Successful completion.
.RE

.sp
.ne 2
.na
\fB\fBGSS_S_BAD_MECH\fR\fR
.ad
.RS 22n
The identified mechanism is not supported.
.RE

.sp
.ne 2
.na
\fB\fBGSS_S_BAD_NAMETYPE\fR\fR
.ad
.RS 22n
The provided internal name contains no elements that could be processed by the
specified mechanism.
.RE

.sp
.ne 2
.na
\fB\fBGSS_S_BAD_NAME\fR\fR
.ad
.RS 22n
The provided internal name was ill-formed.
.RE

.sp
.ne 2
.na
\fB\fBGSS_S_FAILURE\fR\fR
.ad
.RS 22n
The underlying mechanism detected an error for which no specific \fBGSS\fR
status code is defined.  The mechanism-specific status code reported by means
of the \fIminor_status\fR parameter details the error condition.
.RE

.SH ATTRIBUTES
.sp
.LP
See \fBattributes\fR(7) for descriptions of the following attributes:
.sp

.sp
.TS
box;
c | c
l | l .
ATTRIBUTE TYPE	ATTRIBUTE VALUE
_
MT-Level	Safe
.TE

.SH SEE ALSO
.sp
.LP
.BR gss_acquire_cred (3GSS),
.BR gss_init_sec_context (3GSS),
.BR gss_release_name (3GSS),
.BR attributes (7)
.sp
.LP
\fISolaris Security for Developers Guide\fR
